package com.edu.d3_char_buffer;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.Writer;

public class BufferedWriterDemo2 {

    /**
     目标：缓冲字符输出流的使用，学会它多出来的一个功能：newLine();
     */
        public static void main(String[] args) throws Exception {
            // 1、创建一个字符输出流管道与目标文件接通
            //Writer fw = new FileWriter("day10-io-app2/src/out02.txt"); // 覆盖管道，每次启动都会清空文件之前的数据
            Writer fw = new FileWriter("day10-io-app2/src/out02.txt", true); // 追加数据
            BufferedWriter bw = new BufferedWriter(fw);

//      a.public void write(int c):写一个字符出去
            bw.write('8');
            bw.write('a');
            bw.write('徐'); // 不会出问题了
            bw.newLine(); // bw.write("\r\n"); // 换行

//       b.public void write(String c)写一个字符串出去
            bw.write("abc我是中国人");
            bw.newLine(); // bw.write("\r\n"); // 换行

//       c.public void write(char[] buffer):写一个字符数组出去
            char[] chars = "abc我是中国人".toCharArray();
            bw.write(chars);
            bw.newLine(); // bw.write("\r\n"); // 换行

//       d.public void write(String c ,int pos ,int len):写字符串的一部分出去
            bw.write("abc我是中国人", 0, 5);
            bw.newLine(); // bw.write("\r\n"); // 换行

//       e.public void write(char[] buffer ,int pos ,int len):写字符数组的一部分出去
            bw.write(chars, 3, 5);
            bw.newLine(); // bw.write("\r\n"); // 换行

            // fw.flush();// 刷新后流可以继续使用
            bw.close(); // 关闭包含刷线，关闭后流不能使用

        }
}
